package com.bysj.sausys.dao;

import com.bysj.sausys.beans.PageQuery;
import com.bysj.sausys.model.SysAssAnn;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 社团年审申请Mapper接口
 *
 * @author WangZK
 */
public interface SysAssAnnMapper {

    /**
     * 删除社团年审申请单
     *
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 根据id获取社团年审申请单
     *
     * @param id
     * @return
     */
    SysAssAnn selectByPrimaryKey(Integer id);

    /**
     * 更新社团年审申请单
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(SysAssAnn record);

    /**
     * 插入社团年审申请单
     *
     * @param record
     * @return
     */
    int insertSelective(SysAssAnn record);

    /**
     * 根据社团id统计社团年审申请单的数量
     *
     * @param assId
     * @return
     */
    int countByAssId(@Param("assId") Integer assId);

    /**
     * 根据社团id分页获取社团年审申请单列表
     *
     * @param pageQuery
     * @param assId
     * @return
     */
    List<SysAssAnn> getPageByAssId(@Param("pageQuery") PageQuery pageQuery, @Param("assId") Integer assId);

    /**
     * 修改社团年审审批状态
     *
     * @param map
     * @return
     */
    int updateStatus(@Param("map") Map map);

    /**
     * 根据审批状态统计社团年审的总数
     *
     * @param auditStatus
     * @return
     */
    int countByAuditStatus(@Param("auditStatus") Integer auditStatus);

    /**
     * 根据审批状态分页获取社团年审申请
     *
     * @param auditStatus
     * @param pageQuery
     * @return
     */
    List<SysAssAnn> selectByAuditStatus(@Param("auditStatus") Integer auditStatus, @Param("pageQuery") PageQuery pageQuery);
}